package com.lzh.others.collection.Map;

import java.util.EnumMap;
import java.util.Map;

/**
 * @Description: HashMap通过计算Key的hashCode()，直接定位到Value在内部数组的索引，所以效率很高。
 * 如果Key是enum类型，那么就可以使用Java集合库提供的一种EnumMap，
 * 它在内部以一种紧凑的数组存储Value，并且根据enum类型的Key直接定位到内部数组索引，
 * 且不需要计算hashCode()，效率高且没有空间浪费。
 *
 * 总结：如果key是enum类型，推荐使用EnumMap
 * @Author: LiuZiHao
 * @Date: 2022/11/7 09:40
 */
public class EnumMapTest {
    public static void main(String[] args) {
        Map<DayOfWeek, String> map = new EnumMap<DayOfWeek, String>(DayOfWeek.class) {
            {
                put(DayOfWeek.MONDAY, "调用星期一的业务逻辑");
            }
        };
        System.out.println(map.get(DayOfWeek.MONDAY));
        System.out.println(map.get(DayOfWeek.TUESDAY));
    }
}
